package eva.savant.businessobject.gl;

import eva.savant.businessobject.vt.Dosificacion;
import eva.savant.businessobject.vt.Cliente;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Date;
import java.util.Collection;

@Table(name="GL_DEPARTAMENTO")
@javax.persistence.Entity(name = "gl.Departamento")
public class Departamento {

    @Id
    @Column(name = "ID_DEPARTAMENTO", length = 2, nullable = false)
    private String id; //ID Departamento

    @ManyToOne
    @JoinColumn(name = "ID_PAIS", nullable = false)
    private Pais pais; //ID Pais

    @Basic
    @Column(name = "NOMBRE", length = 30, nullable = false)
    private String nombre; //Nombre

    @Basic
    @Column(name = "OPERACION_ID", length = 10, nullable = false)
    private Integer operacionId; //Operacion ID

    @Basic @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "FECHA_ID", length = 19, nullable = false)
    private Date fechaId; //Fecha Proceso ID

    @OneToMany
    (mappedBy = "departamento")
    private Collection<Dosificacion> lsDosificacion;


    public Departamento(String id, Pais pais, String nombre, Integer operacionId) {

        this.id= id;

        this.pais= pais;

        this.nombre= nombre;

        this.operacionId= operacionId;

    }

    public Departamento() {

    }


    public String getId() {
    
        return id;
    }
    
    public void setId(String id) {
    
        this.id = id;
    }

    public Pais getPais() {
    
        return pais;
    }
    
    public void setPais(Pais pais) {
    
        this.pais = pais;
    }

    public String getNombre() {
    
        return nombre;
    }
    
    public void setNombre(String nombre) {
    
        this.nombre = nombre;
    }

    public Integer getOperacionId() {
    
        return operacionId;
    }
    
    public void setOperacionId(Integer operacionId) {
    
        this.operacionId = operacionId;
    }

    public Collection<Dosificacion> getLsDosificacion() {
    
        return lsDosificacion;
    }
    
    public void setLsDosificacion(Collection<Dosificacion> lsDosificacion) {
    
        this.lsDosificacion = lsDosificacion;
    }

    @PreUpdate
    @PrePersist
    public void updateTimeFechaId() {

        this.fechaId = new Timestamp(new java.util.Date().getTime());
    }

}
